﻿using System;
using System.Windows;
using SoftSource.MVVMC;
using SoftSource.Timecard.Web.Data;

namespace SoftSource.Timecard.ViewModelInterfaces
{
    public interface IProjectEditorViewModelConsume : IDataViewModelConsume, IEditorConsume
    {
        #region Properties

        Project Project { get; }

        #endregion Properties

        #region Methods

        Func<Action, UIElement> CreateEditCategories { get; }
        Func<Action, UIElement> CreateEditMembers { get; }

        #endregion Methods
    }

    public interface IProjectEditorViewModelService : IDataViewModelService, IEditorService
    {
        #region Properties

        Project Project { get; set; }

        #endregion Properties

        #region Methods

        Func<Project, Action, UIElement> CreateEditCategoriesService { get; set; }
        Func<Project, Action, UIElement> CreateEditMembersService { get; set; }

        #endregion Methods
    }

    public interface IProjectEditorViewModel : 
        IDataViewModel, 
        IProjectEditorViewModelConsume, 
        IProjectEditorViewModelService
    {
    }
}
